home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Memphis Amiga Group / MAG diskMAGazine (1992-01)(Memphis Amiga Group).zip / MAG diskMAGazine (1992-01)(Memphis Amiga Group).adf / Vertex / Vertex.Doc.1.17 < prev    next >
Text File  |  1991-12-10  |  68KB  |  2,210 lines

  1.  
  2.  
  3.  
  4.                                Vertex 1.17b
  5.                   © Copyright 1991 Alexander D. Deburie
  6.                            All Rights Reserved
  7.  
  8.  
  9.  
  10.         Please make sure you have read the file 'Must.Read' before
  11.         proceeding.
  12.  
  13.         This shareware version of Vertex may be freely distributed.
  14.  
  15.         ****************************************************************
  16.         **************************************************************
  17.  
  18.         Welcome to Vertex. This software is shareware. I have spent several
  19.         months on this project, and I plan to spend many more adding new
  20.         features and updating it. If you find this product useful, I urge
  21.         you to contribute, as I am always willing to add features which
  22.         registered users ask me to impliment.
  23.  
  24.         There are two types of registration:
  25.  
  26.         1.   Registered Users
  27.              A contribution of $30 will give you a full working version, a
  28.              manual file, documentation for the Arexx port, and a request
  29.              form to submit for ideas/features you would like to see added.
  30.              New versions will cost $10 for registered users.
  31.  
  32.         2.   Preferred Users
  33.              A contribution of $50 will give you a full working version, a
  34.              manual file, documentation for the Arexx port, a request form
  35.              to submit for ideas/features, and FREE updates. (Up to 8 rev.)
  36.  
  37.         I have worked VERY hard to make this package as commercial quality
  38.         as possible. Please support my efforts, and creative software for
  39.         the Amiga, by contributing.
  40.  
  41.         This evaluation version of Vertex may be freely distributed. The
  42.         registered version may NOT be freely distributed.
  43.  
  44.         ****************************************************************
  45.         ****************************************************************
  46.  
  47.  
  48.         CONTENTS:
  49.  
  50.         Introduction
  51.             Intro
  52.             The User Interface
  53.         Function Descriptions
  54.             The Add Menu
  55.                 Add Basic Shapes
  56.             The Selection/Deselection Menus
  57.             The Modify Menu
  58.             The Transform Menu
  59.                 Align Sub Menu
  60.             The Delete Menu
  61.             The View Options Menu
  62.             The Miscellaneous Menu
  63.         File Formats
  64.             Compressed Files
  65.             Sculpt 3D/4D Files
  66.             Trubo Silver/Imagine Files
  67.             Lightwave Files
  68.             GEO Format
  69.             Wavefront
  70.             3D Professional
  71.         The Keyboard        
  72.         The Future
  73.  
  74.     
  75.     ====================================================================                         
  76.  
  77.  
  78.     INTRODUCTION:
  79.  
  80.  
  81.     Vertex is a 3d editor. It differs from other 3d editors in many ways.
  82.     First and foremost, the editor does not limit you to 3 views. You can
  83.     choose any view, including perspective, to select points and examine
  84.     objects. Additionally, the view can be rotated, positioned and scaled
  85.     at will by either typed in values or using the mouse. This makes the
  86.     editor fast and responsive - no more will you have to move confusing
  87.     "selector" boxes around to select vertices. Now you can simply rotate
  88.     the view until you can plainly see any vertex you wish to select. You
  89.     can choose either a "fast-draw" mode while changing the view, or a
  90.     slower, but more detailed, full mode. Also, the view can be rendered at
  91.     any time, using the current rotation, position and scale, at the press
  92.     of a key.
  93.  
  94.     Selection of Vertices:
  95.  
  96.     Selection of vertices in Vertex is a primary concern. Personnaly, my
  97.     efforts in 3d object design were seriously hampered by the frustration
  98.     involved in selecting the right vertices. So, an interesting array of
  99.     selection facilities have been added to Vertex. Included are:
  100.  
  101.         De/Selection By Vertex
  102.         De/Selector Drag Boxes
  103.         De/Selection Swap
  104.         De/Selection By Name (From a Menu of Names)
  105.         De/Selection Patterns
  106.         De/Select All Except
  107.         De/Select All
  108.  
  109.     Even the compressed file format saves the selection status of
  110.     each vertex. Additionally, you can now change the view while selecting
  111.     vertices. While the "pick" pointeris active, you can press any of the
  112.     4 view gadgets to change the view.
  113.  
  114.     Curved Surfaces:
  115.  
  116.     Curved surfaces represent the vast majority of "real" objects. Vertex
  117.     has included two unique functions to make curved objects: Apply Curve
  118.     and Multiply.
  119.  
  120.     Apply Curve is a bezier curve interface. You can define a bezier curve
  121.     with four control points, and then "apply" that curve to all selected
  122.     vertices. The application method can be either Conform, to force
  123.     vertices to take the shape of the curve, Average, which averages the
  124.     curve with the position of the vertices, and Additive, which adds the
  125.     curve to the position of the vertices.
  126.  
  127.     Multiply is a feature totally unique to Vertex. It enables you to plot
  128.     any mathematical formula to your 3d objects. Multiply includes full
  129.     support for trig functions, a random number generator, scaling by axis,
  130.     and much more. This gives Vertex an open end approach to curved surface
  131.     generation.
  132.  
  133.     These curved surfaces are only a portion of the modification tools
  134.     available in Vertex. You can also fuse vertices together, rondomize
  135.     on any or all axes, or subdivide faces.
  136.  
  137.     File Formats:
  138.  
  139.     After you have modified your objects you can save them in many
  140.     different formats. Included are:
  141.  
  142.         Scult 3D/4D
  143.         Turbo Silver
  144.         Imagine
  145.         Lightwave
  146.         Compressed
  147.         GEO
  148.         Wavefront
  149.  
  150.     Compressed is a private file format used by vertex to store the same
  151.     object in less space, and preserve the selection status of each vertex.
  152.  
  153.     This is not all there is to Vertex, however. There is a full array of
  154.     normal functions to:
  155.  
  156.         Create Lathes/Polygons/Grids
  157.         Extrude
  158.         Duplicate
  159.         Move, Rotate, Scale and Size (by hand or typed in values)
  160.         Arexx compatability
  161.         Deletion
  162.         Undo Option
  163.         
  164.     Please note that more detailed documentation will come with a
  165.     registered version of Vertex.
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.     *****************************************************************
  187.  
  188.     THE USER INTERFACE:
  189.  
  190.     Vertex uses a unique set of Pop-Up menus. Clicking the right mouse    
  191.     button will cause a menu to appear directly below the mouse pointer.    
  192.     There is no need to hold the button down, and moving off the menu will
  193.     make it go away. This menu is a list of options, as are regular menus,
  194.     but many options will cause another Pop-Up menu to appear with further
  195.     options. In this way, the Pop-Up menu system is like a tree. Each menu
  196.     is a limb on the tree, and choosing an option from a menu will take you
  197.     to a smaller branch on the tree. All branches start with the trunk, or
  198.     Main Menu.
  199.  
  200.     The main menu will appear any time you press the right mouse button, or
  201.     the space bar (provided you are not currently executing a function).
  202.     Listed on the main menu are choices to add objects, select/deselect
  203.     vertices, modify objects, transform objects, delete objects, load and
  204.     save objects, change the view, and adjust certain options.
  205.  
  206.  
  207.     Each menu entry is preceeded by a 1 letter code. These one letter codes
  208.     are "accelerator keys". With these accelorator keys, you can quickly
  209.     start functions, without having to mess with menus. These keys are
  210.     designed for speed - take note that most of the keys are located on the
  211.     left half of the keyboard. This enables you to keep one hand on the
  212.     mouse and one hovering over the left side of the keyboard.
  213.  
  214.     For example, if you wanted to select all vertices at once, and you are
  215.     not currently executing a function, you can do so by pressing 'S',
  216.     (this will cause the Selection Pop-Up menu to appear) then, after
  217.     letting go of the S key, press the 'A' key. All vertices will now be
  218.     selected.
  219.  
  220.     In this manual, the accelorator keys will be shown in the form
  221.  
  222.     MenuKey - OptionKey
  223.  
  224.     For example. The select all function above would be shown as: S-A.
  225.     Likewise, to deselect all vertices the key command would be D-A. You 
  226.     should not press the "-" between the letter. After a time you will 
  227.     no doubt find this feature useful.
  228.  
  229.     The accelerator keys are probably the best way to communicate with
  230.     Vertex. You should at least try to get a few of them down quickly. I'd
  231.     suggest trying S-A for Select-All, D-A for Deselect-All, and S-C for
  232.     Select-Connected.
  233.  
  234.     There is more to Vertex than the Pop-up menus, however. The left side
  235.     of the main screen contains several gadgets for altering the view, and
  236.     a status list of current information.
  237.  
  238.     The first 4 gadgets, labelled VIEW, allow you to change the view mode.
  239.     Options include Perspective, Front, Side and Top. Below these gadgets
  240.     are the current view tool. There is always a view tool on. You can
  241.     rotate the view, position the view, or scale the view. When the default
  242.     cross-hair pointer is shown, (while you are not executing a function),
  243.     pressing the left mouse button in the main view window will alter the
  244.     view based on whatever tool you have selected. If Rotate is selected,
  245.     and you press the left mouse button, the view will be rotated while you
  246.     hold the button down and move the mouse. Once you let go of the button,
  247.     the view will be re-drawn with the new rotation values.
  248.  
  249.     Below the Adjust View gadgets is a list system information:
  250.  
  251.         VERTS:  The current number of vertices
  252.         EDGES:  The current number of edges
  253.         FACES:  The current number of faces
  254.         VMAX:   The maximum number of vertices available
  255.         EMAX:   The maximum number of edges available
  256.         FMAX:   The maximum number of faces available
  257.         SLCT:   The number of currently selected vertices
  258.         EULR:   The Euler number for all objects. This is the total number
  259.                 of vertices plus the total number of faces, minus the total
  260.                 number of edges. This is a handy formula, as certain kinds
  261.                 of objects have unique Euler numbers.
  262.         PAN:    The current pan rotation (or X axis rotation)
  263.         TILT:   The current tilt rotation (Or global Y axis rotation)
  264.         POSX:   View X position
  265.         POSY:   View Y position
  266.         POSZ:   View Z position
  267.         ZOOM:   Current Zoom Level (.01x to 16x)
  268.  
  269.     
  270.  
  271.     Finally, during the course of using Vertex, you will no doubt run into
  272.     some requestors. All requestors in Vertex are "fast requestors".
  273.     Pressing the return key has the ability to respond to a requestor.
  274.  
  275.     A Vertex Alert has a message and 2 buttons. The return key will
  276.     activate the button which is outlined. This is usually the CANCEL
  277.     button.
  278.  
  279.     Requestors are asking for information from you. If you press return on
  280.     the last line of the requestor, this acts the same as pressing the OKAY
  281.     gadget. If you wish to cancel a requestor, you must physically press
  282.     the CANCEL button.
  283.  
  284.  
  285.     ===================================================================
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.     FUNCTION DESCRIPTIONS:
  307.  
  308.  
  309.     ****************************************************************
  310.     ****************************************************************
  311.     
  312.     THE ADD MENU:
  313.  
  314.         Add Polygon         A-P
  315.         Add Lathe           A-L
  316.         Add Grid            A-G
  317.         Add Duplicate       A-D
  318.         Add Basic Shapes    A-B
  319.         Add Vertex Precise  A-V
  320.         Add Vertex          A-A
  321.         Add Edge            A-E
  322.         Add Face            A-F
  323.  
  324.  
  325.  
  326.  
  327.     ****************************************************************
  328.     Function:   Add Polygon
  329.     FastKey:    A-P
  330.  
  331.     Description:
  332.  
  333.     Adding polygons is a simple manner. Choose this menu option, and the
  334.     shape editor will appear. The main window now acts as a flat polygon
  335.     designer. Clicking with the mouse will cause points to appear,
  336.     connected to the previous point by an edge. You simply click the points
  337.     to create any shape you wish. Clicking the right mouse button will
  338.     cause a new menu to appear.
  339.  
  340.     Polygon Menu:
  341.  
  342.     The polygon menu has many features to help you with polygon
  343.     creation. Here are the options:
  344.  
  345.         Undo Last Vertex    Just as it says, will undo the last point
  346.                             created. You can undo all the way back to the
  347.                             first vertex created.
  348.         Create Open Polygon This will create an open polygon out of the
  349.                             shape you have defined. You will be prompted
  350.                             for an object name. You can continue creating
  351.                             polygons after this point.
  352.         Create Closed Poly  This will create a closed polygon, the first and
  353.                             last points will be connected, and you will be
  354.                             prompted for an object name. You can continue
  355.                             creating polygons after this point.
  356.         Grid On/Off         This will turn a "snap-to" grid on, so your
  357.                             points will be forced to align with the grid.
  358.         Adjust Grid         This will let you adjust the grid resolution.
  359.         Overlay On/Off      Normally, you create objects 1 by 1. Overlay
  360.                             lets you see the objects already created behind
  361.                             your new object. This is handly for lining up
  362.                             new shapes to pre-existing shapes.
  363.         Exit Polygon        This will leave the polygon creation tool,
  364.                             aborting any shape currently being created.
  365.  
  366.     All these menu options have associated fast-key commands, and can be
  367.     invoked with a single key press. There is no need to press the 'A-P',
  368.     since you are already in polygon mode.
  369.  
  370.     Function:                   Key:
  371.     =====================      =====
  372.     Undo Last Vertex             U
  373.     Create Open Polygon          O
  374.     Create Closed Polygon        C
  375.     Grid On/Off                  G
  376.     Adjust Grid                  A
  377.     Overlay On/Off               V
  378.     Exit Polygon                 X
  379.  
  380.  
  381.  
  382.  
  383.     ****************************************************************
  384.     Function:   Add Lathe
  385.     FastKey:    A-L
  386.  
  387.     Description:
  388.  
  389.     Choose this menu option, and the shape editor will appear. The main
  390.     window now acts as a flat edge designer. Clicking with the mouse 
  391.     will cause points to appear, connected to the previous point by 
  392.     an edge. You simply click the points to create any shape you wish. 
  393.     Pressing the right mouse button will cause a new menu to appear.
  394.  
  395.     Lathe Menu:
  396.  
  397.     The lathe menu has many features to help you with lathe creation.
  398.     Here are the options:
  399.  
  400.         Undo Last Vertex    Just as it says, will undo the last point
  401.                             created. You can undo all the way back to the
  402.                             first vertex.
  403.         Create Open Lathe   This will create an open lathe out of the
  404.                             shape you have defined. You will be prompted
  405.                             for an object name, the angle which this shape
  406.                             will be rotated by, and the number of divisions
  407.                             to use.
  408.         Create Closed Lathe This will create a closed lathe, the first and
  409.                             last points will be connected, and you will be
  410.                             prompted for an object name, the angle which
  411.                             this shape will be rotated by, and the number of
  412.                             divisions to use. This object will be built like
  413.                             a doughnut.
  414.         Grid On/Off         This will turn a "snap-to" grid on, so your
  415.                             points will be forced to align with the grid.
  416.         Adjust Grid         This will let you adjust the grid resolution.
  417.         Exit Lathe          This will leave the lathe creation tool,
  418.                             aborting any shape currently being created.
  419.  
  420.     All these menu options have associated fast-key commands, and can be
  421.     invoked with a single key press. There is no need to press the 'A-L',
  422.     since you are already in lathe mode.
  423.  
  424.     Function:                   Key:
  425.     =====================      =====
  426.     Undo Last Vertex             U
  427.     Create Open Lathe            O
  428.     Create Closed Lathe          C
  429.     Grid On/Off                  G
  430.     Adjust Grid                  A
  431.     Exit Lathe                   X
  432.  
  433.  
  434.  
  435.  
  436.     ****************************************************************
  437.     Function:   Add Grid
  438.     Fast Key:   A-G
  439.  
  440.     Description:
  441.  
  442.     Grids are similar to graph paper. You can define the width and height
  443.     of the grid, and the resolution.
  444.  
  445.     When this function is chosen a requestor appears, asking for the
  446.     following information:
  447.  
  448.         GRIDX:  This is the size, in units, of the grid width.
  449.         GRIDY:  This is the size, in units, of the grid height.
  450.         RESX:   This is the number of divisions to use for the width.
  451.         RESY:   This is the number of divisions to use for the height.
  452.         NAME:   The name of the new object.
  453.  
  454.     Grids are nice for applying curves to and using the multiply function.
  455.     Be careful, however, as grids can take up large amounts of storage
  456.     space quickly.
  457.  
  458.  
  459.  
  460.  
  461.     ****************************************************************
  462.     Function:   Add Duplicate
  463.     FastKey:    A-D
  464.  
  465.     Description:
  466.  
  467.     You can duplicate any object or set of selected vertices. You are 
  468.     presented with a requestor asking for:
  469.  
  470.         DISTX:  This is the amount to move the new object on the X axis
  471.         DISTY:  This is the amount to move the new object on the Y axis
  472.         DISTZ:  This is the amount to move the new object on the Z axis
  473.         NAME:   This is the name of the new object. It defaults to the
  474.                 name of the first selected vertex plus a "-DUP" at the end.
  475.  
  476.     All selected vertices, and any associated edges and faces will be
  477.     duplicated.
  478.  
  479.  
  480.  
  481.  
  482.     ****************************************************************
  483.     Function:   Add Basic Shapes
  484.     FastKey:    A-B
  485.  
  486.         Cube            A-B-C
  487.         Pointed Star    A-B-P
  488.         Ring            A-B-R
  489.         Sphere          A-B-S
  490.     
  491.     Cube
  492.     
  493.         When this function is selected a requestor appears asking for the
  494.         length, with an height of the cube to be created, and its name.
  495.         
  496.     Pointed Star
  497.     
  498.         You are prompted with a reqiestor asking for the number of Points,
  499.         the total diameter, and the name of the object.
  500.         
  501.     Ring
  502.     
  503.         This function brings up a requestor asking for a number of values:
  504.         
  505.         Radius1     The actual diameter of ring sections
  506.         Radius2     The total diameter of the finished ring
  507.         Points      The number of points to create ring sections with
  508.         Res         The total number of divisions to make in the entire
  509.                     ring
  510.         Name        The name of the object.
  511.    
  512.    Sphere
  513.    
  514.         The add basic sphere function askes for the diameter, points and
  515.         res of the sphere.
  516.         
  517.         Radius      The total width of the finished sphere
  518.         Points      How many points to make the side of the sphere
  519.         Res         The total divisions to create the sphere
  520.  
  521.  
  522.  
  523.  
  524.     ****************************************************************
  525.     Function:   Add Vertex Precise
  526.     FastKey:    A-V
  527.  
  528.     Description:
  529.  
  530.     You can add vertices at precise positions with this function. You are
  531.     presented with a requestor asking for:
  532.  
  533.         POSX:   The X coordinate of the vertex
  534.         POSY:   The Y coordinate of the vertex
  535.         POSZ:   The Z coordinate of the vertex
  536.  
  537.     The name of this vertex will be the name of the last vertex. If you
  538.     wish to enter large numbers of vertices in this manner, you may want to
  539.     use Arexx instead.
  540.  
  541.  
  542.  
  543.  
  544.     ****************************************************************
  545.     Function:   Add Vertex
  546.     Fast Key:   A-A
  547.  
  548.     Description:
  549.  
  550.     This function lets you add vertices to the 3d environment. The vertices
  551.     will allways be on the X,Y plane. Simple click the pointer anywhere in
  552.     the 3d window to add points. Pressing the right mouse button will
  553.     abort this operation.
  554.  
  555.  
  556.  
  557.  
  558.     ****************************************************************
  559.     Function:   Add Edge
  560.     FastKey:    A-E
  561.  
  562.     Description:
  563.  
  564.     This function lets you add edges by clicking on 2 vertices.
  565.     You can continue adding edges until you press the right mouse button.
  566.  
  567.     If you create an edge over an existing edge, it will be deleted by
  568.     Vertex.
  569.  
  570.  
  571.  
  572.  
  573.     ****************************************************************
  574.     Function:   Add Face
  575.     FastKey:    A-F
  576.  
  577.     Description:
  578.  
  579.     This function lets you add faces by consecutively selecting 3 vertices.
  580.     You can continue adding faces until you press the right mouse button.
  581.  
  582.     If you create an edge over an existing edge, it will be deleted by
  583.     Vertex. Add face attempts a "Flush Duplicate Edges" after completing.
  584.     Since it is possible that two edges are created with the same
  585.     endpoints, the duplicates are deleted. A side effect of this is a slow
  586.     down after exiting the Add Face function. Try to add faces early on
  587.     in object development and/or enter many faces at once. 
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.     ****************************************************************
  609.     ****************************************************************
  610.     
  611.  
  612.     SELECTION MENU:
  613.  
  614.         Select All          S-A
  615.         Select Swap         S-S
  616.         Select Named        S-N
  617.         Select Vertex       S-V
  618.         Select Area         S-R
  619.         Select Pattern      S-P
  620.         Select Except       S-X
  621.         Select Connected    S-C
  622.  
  623.  
  624.  
  625.  
  626.     ****************************************************************
  627.     Function:   Select All
  628.     FastKey:    S-A
  629.  
  630.     Description:
  631.  
  632.     This will select every vertex currently in memory.
  633.  
  634.  
  635.  
  636.  
  637.     ****************************************************************
  638.     Function:   Select Swap
  639.     FastKey:    S-S
  640.  
  641.     Description:
  642.  
  643.     This will swap the selection of every vertex currently in memory. If
  644.     the vertex was selected, it will be deselected, and vice-versa.
  645.  
  646.  
  647.  
  648.  
  649.     ****************************************************************
  650.     Function:   Select Named
  651.     FastKey:    S-N
  652.  
  653.     Description:
  654.  
  655.     This function will bring up a menu of all names currently in memoory.
  656.     You can choose any object name you wish by clicking on it.
  657.  
  658.     There is a limit of 40 names for objects. Until I get a wider menu
  659.     finished, this limit will remain.
  660.  
  661.  
  662.  
  663.  
  664.     ****************************************************************
  665.     Function:   Select Vertex
  666.     FastKey:    S-V
  667.  
  668.     Description:
  669.  
  670.     This function will give you the pick pointer so you can select
  671.     individual vertices from the main view window. Exit the function by
  672.     pressing the right mouse button.
  673.  
  674.  
  675.     ****************************************************************
  676.     Function:   Select By Area
  677.     FastKey:    S-R
  678.  
  679.     Description:
  680.  
  681.     This function will give you the pick pointer so you can select
  682.     vertices by dragging out a rectangle. Press and hold the left mouse
  683.     button to size the rectangle. Exit the function by pressing the
  684.     right mouse button. 
  685.  
  686.  
  687.  
  688.  
  689.     ****************************************************************
  690.     Function:   Select Pattern
  691.     FastKey:    S-P
  692.  
  693.     Description:
  694.  
  695.     Selecting vertices by pattern requires entering a selection pattern.
  696.     The pattern corresponds to how the vertices are layed out in memory.
  697.     Here is an example:
  698.  
  699.  
  700.         10 Vertices before selection:
  701.         (1 means selected, 0 means deselected)
  702.  
  703.         0 0 0 0 0 0 0 0 0 0
  704.  
  705.         After applying the selection pattern '0101' the 10 vertices are
  706.         selected as such:
  707.  
  708.         0 1 0 1 0 1 0 1 0 1
  709.  
  710.         As you can see, the selection pattern '0101' will select every
  711.         odd vertex, and deselect every even vertex.
  712.  
  713.     Pattern selection is a tricky function. It is not straight forward -
  714.     it depends on the order of vertices in memory. Normally, when a lathe
  715.     or grid is created, the vertices are added 1 at a time in order of
  716.     creation. Some functions in Vertex will change the order of the
  717.     vertices in memory. If you plan on using pattern selection, do not use
  718.     it after these functions:
  719.  
  720.         fuse
  721.         Subdivide Faces
  722.         Delete Selected Vertices
  723.  
  724.     These functions will mess-up the order of vertices in memory. You can
  725.     use pattern selection after using these functions, but it will not work
  726.     very well.
  727.  
  728.  
  729.  
  730.  
  731.     ****************************************************************
  732.     Function:   Select Except
  733.     FastKey:    S-X
  734.  
  735.     Description:
  736.  
  737.     This function will select every object except the one you choose. This
  738.     is a handy function that saves a lot of work when you need it.
  739.  
  740.     Suppose you have 10 objects in memory, and you have half of the
  741.     vertices of one object selected. Now, if you want to swap-select the
  742.     other vertices in that same object, you could choose Select-Swap. But
  743.     doing so will cause ALL vertices to be swapped. Now you must go through
  744.     by hand and deselect the unwanted vertices. This function eliminates
  745.     the need for this kind of work. Together with Deselect All Except,
  746.     you can have finer control over what gets selected and what doesn't.
  747.  
  748.  
  749.  
  750.  
  751.     ****************************************************************
  752.     Function:   Select Connected
  753.     FastKey:    S-C
  754.  
  755.     Description:
  756.  
  757.     This function will select every vertex which is connected by edges
  758.     to a selected vertex.
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.     ****************************************************************
  780.     ****************************************************************
  781.  
  782.  
  783.     DESELECTION MENU:
  784.  
  785.         Deselect All          D-A
  786.         Deselect Swap         D-S
  787.         Deselect Named        D-N
  788.         Deselect Vertex       D-V
  789.         Deselect Area         D-R
  790.         DeSelect Pattern      S-P
  791.         DeSelect Except       S-X
  792.  
  793.  
  794.  
  795.  
  796.     ****************************************************************
  797.     Function:   Deselect All
  798.     FastKey:    D-A
  799.  
  800.     Description:
  801.  
  802.     This will deselect every vertex currently in memory.
  803.  
  804.  
  805.  
  806.  
  807.     ****************************************************************
  808.     Function:   Deselect Swap
  809.     FastKey:    D-S
  810.  
  811.     Description:
  812.  
  813.     This will swap the selection of every vertex currently in memory. If
  814.     the vertex was selected, it will be deselected, and vice-versa.
  815.  
  816.  
  817.  
  818.  
  819.     ****************************************************************
  820.     Function:   Deselect Named
  821.     FastKey:    D-N
  822.  
  823.     Description:
  824.  
  825.     This function will bring up a menu of all names currently in memoory.
  826.     You can choose any object name you wish by clicking on it.
  827.  
  828.  
  829.  
  830.  
  831.     ****************************************************************
  832.     Function:   Deselect Vertex
  833.     FastKey:    D-V
  834.  
  835.     Description:
  836.  
  837.     This function will give you the pick pointer so you can deselect
  838.     individual vertices from the main view window. Exit the function by
  839.     pressing the right mouse button.
  840.  
  841.  
  842.  
  843.  
  844.     ****************************************************************
  845.     Function:   Deselect By Area
  846.     FastKey:    D-R
  847.  
  848.     Description:
  849.  
  850.     This function will give you the pick pointer so you can deselect
  851.     vertices by dragging out a rectangle. Exit the function by pressing the
  852.     right mouse button.
  853.  
  854.  
  855.  
  856.  
  857.     ****************************************************************
  858.     Function:   Deselect Pattern
  859.     FastKey:    D-P
  860.  
  861.     Description:
  862.  
  863.     Selecting vertices by pattern requires entering a selection pattern.
  864.     The pattern corresponds to how the vertices are layed out in memory.
  865.     Here is an example:
  866.  
  867.  
  868.         10 Vertices before selection:
  869.         (1 means selected, 0 means deselected)
  870.  
  871.         1 1 1 1 1 1 1 1 1 1
  872.  
  873.         After applying the selection pattern '1100' the 10 vertices are
  874.         selected as such:
  875.  
  876.         1 1 0 0 1 1 0 0 1 1
  877.  
  878.     The selection pattern is repeated until the last vertex is reached.
  879.  
  880.     Pattern selection is a tricky function. It is not straight forward -
  881.     it depends on the order of vertices in memory. Normally, when a lathe
  882.     or grid is created, the vertices are added 1 at a time in order of
  883.     creation. Some functions in Vertex will change the order of the
  884.     vertices in memory. If you plan on using pattern deselection, do not
  885.     use it after these functions:
  886.  
  887.         fuse
  888.         Subdivide Edges
  889.         Subdivide Faces
  890.         Delete Selected Vertices
  891.  
  892.     These functions will mess-up the order of vertices in memory. You can
  893.     use pattern deselection after using these functions, but it will not
  894.     work very well.
  895.  
  896.  
  897.  
  898.  
  899.     ****************************************************************
  900.     Function:   Deselect Except
  901.     FastKey:    D-X
  902.  
  903.     Description:
  904.  
  905.     This function will deselect every object except the one you choose. This
  906.     is a handy function that saves a lot of work when you need it.
  907.  
  908.     Suppose you have 10 objects in memory, and you have half of the
  909.     vertices of one object selected. Now, if you want to swap-select the
  910.     other vertices in that same object, you could choose Select-Swap. But
  911.     doing so will cause ALL vertices to be swapped. Now you must go through
  912.     by hand and deselect the unwanted vertices. This function eliminates
  913.     the need for this kind of work. Together with Select All Except,
  914.     you can have finer control over what gets selected and what doesn't.
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.     ****************************************************************
  936.     ****************************************************************
  937.  
  938.  
  939.     MODIFY MENU:
  940.  
  941.         Multiply            M-M
  942.         Apply Curve         M-Q
  943.         Randomize           M-R
  944.         Extrude             M-X
  945.         Subdivide Faces     M-F
  946.         Fuse Vertices       M-W
  947.         Name Selected       M-N
  948.         Make Sphere         M-S
  949.  
  950.  
  951.  
  952.  
  953.     ****************************************************************
  954.     Function:   Multiply
  955.     FastKey:    M-M
  956.  
  957.     Description:
  958.  
  959.     Choosing this function will bring up a requestor asking for a
  960.     mathematical formula. This formula must begin with either X=,
  961.     Y=, or Z=. On the right side of the equals sign, you can supply any
  962.     math formula, utilizing the functions listed below.
  963.  
  964.     In addition to using math functions, certian variables are defined for
  965.     multiply. The variables X,Y, and Z are the respective X,Y and Z
  966.     coordinates of the current vertex being multiplied. Additional
  967.     variables include:
  968.  
  969.         XMAX:   The maximum X coordinate
  970.         YMAX:   The maximum Y coordinate
  971.         ZMAX:   The maximum Z coordinate
  972.         XMIN:   The minimum X coordinate
  973.         YMIN:   The minimum Y coordinate
  974.         ZMIN:   The minimum Z coordinate
  975.         XCEN:   The average center X
  976.         YCEN:   The average center Y
  977.         ZCEN:   The average center Z
  978.  
  979.     You may use any constant numbers wherever you wish.
  980.  
  981.     The functions supported by Vertex include:
  982.  
  983.         SIN
  984.         COS
  985.         TAN
  986.         ASIN
  987.         ACOS
  988.         ATAN
  989.         LN
  990.         LOG10
  991.         LOG
  992.         EXP
  993.         SQRT
  994.         RAND
  995.         ABS
  996.  
  997.     The trigonometric functions take their input in degrees.
  998.  
  999.     Here are some example (allowable) functions:
  1000.  
  1001.         Z=cos(x^1.2)*30*sin(z^1.2)
  1002.         This function will create an interesting "bumpy" pattern to
  1003.         a grid.
  1004.  
  1005.         Y=0
  1006.         This function will flatten all vertices onto the Y axis.
  1007.  
  1008.         Y=COS(SQR(X*X+Z*Z))*20
  1009.         This will create a nice water drop effect when applied to an
  1010.         object on the X,Z axis.
  1011.  
  1012.         X=SQR(y*cos(z^2))/x*x+23/rand(y*1.2)
  1013.         I have no idea what this function will produce!
  1014.  
  1015.     If you have ideas for further functions which might be useful, then let
  1016.     me know, I will put them in.
  1017.  
  1018.     Please note that, in order to speed up this feature, I have not
  1019.     included syntax checking. You must insure that the formula has
  1020.     properly matched parentheses. However, some wierd formulas ARE defined
  1021.     in vertex:
  1022.     
  1023.         Square roots of negative numbers are defined as Sqr(n) = -Sqr(-n)
  1024.         Division by zero is defined as zero
  1025.         "Domain" functions which require input from -1 to 1 will be set to
  1026.            zero if need be.
  1027.  
  1028.     I have personally noticed some wierd errors with this command. After
  1029.     making some internal changes to the program, I have not been able to
  1030.     make these error happen again. My advice is to save your objects
  1031.     before using this command, that way if it does freak out, you won't be
  1032.     set back.
  1033.  
  1034.  
  1035.  
  1036.  
  1037.     ****************************************************************
  1038.     Function:   Apply Curve
  1039.     FastKey:    M-Q
  1040.  
  1041.     Description:
  1042.  
  1043.     This is the bezier curve interface. Upon choosing this function, you
  1044.     are presented with a grid with a bezier curve on it, 4 control points
  1045.     to alter the curve, and a number of gadgets.
  1046.  
  1047.     The gadgets are outlined below:
  1048.  
  1049.         ------------------------------------------
  1050.     X  |                                          |     CONFORM
  1051.     Y  |                                          |     AVERAGE
  1052.     Z  |                                          |     ADDITIVE
  1053.        |                                          |
  1054.        |           Curve Drawing Area             |
  1055.        |                                          |
  1056.        |                                          |
  1057.        |                                          |
  1058.        |                                          |
  1059.        |                                          |
  1060.         ------------------------------------------
  1061.         X Y Z
  1062.  
  1063.  
  1064.     The X,Y,Z gadgets in the upper left are called the 'Affect Axis'. This
  1065.     choice decides which axis will be changed by the curve. The lower X,Y,Z
  1066.     gadgets determine which axis will be the 'Base Axis' for the curve. As
  1067.     the coordinates of vertices change along this axis, the corresponding
  1068.     change will take place on the Affect axis.
  1069.  
  1070.     If this is confusing, don't worry. Try the function out with a simple
  1071.     grid, and you will get a feel for it.
  1072.  
  1073.     Finally, the way the curve will change the vertices on the 'Affect
  1074.     Axis' can be chosen from the gadgets in the upper right. The choices
  1075.     include:
  1076.  
  1077.         Conform:    This will force the object to take the exact curve you
  1078.                     have defined
  1079.         Average:    This will average each vertices' orginal position with
  1080.                     the new position determined by the curve.
  1081.         Additive:   This will add the new coordinates to the original
  1082.                     coordinates.
  1083.  
  1084.     Upon pressing the right mouse button, a pop-up menu will appear with
  1085.     following options:
  1086.  
  1087.         Apply Curve:    This will apply the curve to all selected vertices
  1088.         Flip Curve:     This will quickly flip the curve vertically
  1089.         Flatten Curve:  This will flatten the curve in the center.
  1090.         Abort:          This will terminate the function, without affecting
  1091.                         any vertices.
  1092.  
  1093.  
  1094.  
  1095.  
  1096.     ****************************************************************
  1097.     Function:   Randomize
  1098.     FastKey:    M-R
  1099.  
  1100.     Description:
  1101.  
  1102.     This will let you randomize vertex positions on the X,Y and/or Z axis.
  1103.     A requestor appears asking for the ranges to randomize each axis. A
  1104.     value of 0 will cause no change to take place on an axis.
  1105.  
  1106.  
  1107.  
  1108.  
  1109.     ****************************************************************
  1110.     Function:   Extrude
  1111.     FastKey:    M-X
  1112.  
  1113.     Description:
  1114.  
  1115.     This is a basic extrude function. You can enter distances to extrude
  1116.     on any or all three axes. A value of zero will result in no movement
  1117.     on that axis.
  1118.  
  1119.  
  1120.  
  1121.  
  1122.     ****************************************************************
  1123.     Function:   Subdivide Faces
  1124.     FastKey:    M-F
  1125.  
  1126.     Description:
  1127.  
  1128.     This function will take a selected face and create 3 faces from it.
  1129.     Heres how it works:
  1130.  
  1131.                 A
  1132.                / \
  1133.               /   \
  1134.              /     \
  1135.             /       \
  1136.            /         \
  1137.           B-----------C
  1138.  
  1139.     If the above face were subdivided, with the Subdivide Face command,
  1140.     it would end up like this:
  1141.  
  1142.                 A
  1143.                /|\
  1144.               / | \
  1145.              / /D\ \
  1146.             /_/   \_\
  1147.            //       \\
  1148.           B-----------C
  1149.  
  1150.     You will end up with 3 faces: A-B-D, A-D-C and B-D-C.
  1151.  
  1152.  
  1153.  
  1154.  
  1155.     ****************************************************************
  1156.     Function:   Fuse Vertices
  1157.     FastKey:    M-W
  1158.  
  1159.     Description:
  1160.  
  1161.     This function will take all selected vertices and fuse them into 1. The
  1162.     new vertex will be located at the centroid of the selected vertices.
  1163.     All edges and faces will be repositioned, and some may be deleted, to
  1164.     create a proper 3d object. This process may cause a small delay. Using
  1165.     this function with 1000 vertices and 2000 edges will probably take 2
  1166.     or 3 minutes to execute.
  1167.  
  1168.  
  1169.  
  1170.  
  1171.     ****************************************************************
  1172.     Function:   Name Selected
  1173.     FastKey:    M-N
  1174.  
  1175.     Description:
  1176.  
  1177.     This function will let you modify the name of all selected vertices.
  1178.     After this function executes, all unused names will be flushed from
  1179.     memory.
  1180.  
  1181.     There is a limit of 40 names for objects. Until I get a wider menu
  1182.     finished, this limit will remain.
  1183.  
  1184.  
  1185.  
  1186.  
  1187.     ****************************************************************
  1188.     Function:   Make Sphere
  1189.     FastKey:    M-S
  1190.  
  1191.     Description:
  1192.  
  1193.     With this function, you can force all points selected to become a
  1194.     sphere. The sphere created is dependant on the number of vertices
  1195.     selected. If only a few vertices are selected, then a rough sphere
  1196.     will be created. The more vertices used for this function, the better
  1197.     the sphere will look.
  1198.         
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.     ****************************************************************
  1219.     ****************************************************************
  1220.  
  1221.  
  1222.     TRANSFORM MENU:
  1223.  
  1224.         Initialize      T-I
  1225.         Move Precise    T-M
  1226.         Rotate Precise  T-R
  1227.         Scale Precise   T-S
  1228.         Size Precise    T-Z
  1229.         Align           T-A
  1230.             Lowest X/Y/Z    1,2,3
  1231.             Center X/Y/Z    4,5,6
  1232.             Highest X/Y/Z   7,8,9
  1233.         Move Free
  1234.         Scale Free
  1235.         Size Free
  1236.  
  1237.  
  1238.  
  1239.  
  1240.     ****************************************************************
  1241.  
  1242.     Function:   Initialize
  1243.     FastKey:    T-I
  1244.  
  1245.     Description:
  1246.  
  1247.     This will center all selected vertices on the origin (0,0,0)
  1248.  
  1249.  
  1250.  
  1251.  
  1252.     ****************************************************************
  1253.     Function:   Move Precise
  1254.     FastKey:    T-M
  1255.  
  1256.     Description:
  1257.  
  1258.     Move precise enables you to move selected vertices any number of units
  1259.     on any or all axes.
  1260.  
  1261.  
  1262.  
  1263.  
  1264.     ****************************************************************
  1265.     Function:   Rotate Precise
  1266.     FastKey:    T-R
  1267.  
  1268.     Description:
  1269.  
  1270.     This function lets you rotate all selected vertices about any axis.
  1271.     Just enter the rotations in the requestor.
  1272.  
  1273.  
  1274.     
  1275.  
  1276.     ****************************************************************
  1277.     Function:   Scale Precise
  1278.     FastKey:    T-S
  1279.  
  1280.     Description:
  1281.  
  1282.     Here you can stretch and squeeze objects on any or all axes. The
  1283.     values entered in the requestor are relative to 1. So, a scale factor
  1284.     of 1 will cause no scaling to occur. Values smaller than 1 will shrink
  1285.     the object, values larger than 1 will expand the object.
  1286.  
  1287.  
  1288.  
  1289.  
  1290.     ****************************************************************
  1291.     Function:   Size Precise
  1292.     FastKey:    T-Z
  1293.  
  1294.     Description:
  1295.  
  1296.     With this function you can quickly size objects on all three axes at a
  1297.     time. Values smaller than 1 reduce the object, and larger than 1 expand
  1298.     the object.
  1299.  
  1300.  
  1301.  
  1302.  
  1303.     ****************************************************************
  1304.     Function:   Align
  1305.     FastKey:    T-A
  1306.  
  1307.     Description:
  1308.  
  1309.     This is a new sub menu added to aid aligning objects.
  1310.  
  1311.     You are presented with 9 choices for aligning objects. All these
  1312.     alignments are relative to the first object selected. In order to keep
  1313.     from flattening entire objects, this command operates based on the
  1314.     name of each object. Heres an example:
  1315.     
  1316.     Original
  1317.     
  1318.                             ---------       ----------------------
  1319.                             |       |       |                    |
  1320.        ----------           |       |       ----------------------
  1321.        |        |           |       |               Obj 3
  1322.        |        |           ---------
  1323.        ----------             Obj 2
  1324.          Obj 1               
  1325.     
  1326.     After Aligning on the lowest Y:
  1327.     
  1328.                             ---------
  1329.        ----------           |       |
  1330.        |        |           |       |       ----------------------
  1331.        |        |           |       |       |                    |
  1332.        ----------           ---------       ----------------------
  1333.          Obj 1                Obj 2                   Obj 3
  1334.          
  1335.          
  1336.     This is a handy function to align 3D text.
  1337.  
  1338.  
  1339.  
  1340.  
  1341.     ****************************************************************
  1342.     Function:   Move Free
  1343.     FastKey:    none
  1344.  
  1345.     Description:
  1346.  
  1347.     Lets you Move objects freely about the screen. Since the screen is
  1348.     only 2 dimensional, the current view will determine which axis the
  1349.     object will be moved on. The view gadgets themseleves tell you which 2
  1350.     axis they pertain to.
  1351.  
  1352.         PERSP:
  1353.             Up and Down moves the object on the Y Axis
  1354.             Left and right moves the object on the X Axis
  1355.         FRONT:
  1356.             Up and Down moves the object on the Y Axis
  1357.             Left and right moves the object on the X Axis
  1358.         SIDE:
  1359.             Up and Down moves the object on the Y Axis
  1360.             Left and right moves the object on the Z Axis
  1361.         TOP:
  1362.             Up and Down moves the object on the Z Axis
  1363.             Left and right moves the object on the X Axis
  1364.  
  1365.     Bear in mind when using this function that no account is taken of the
  1366.     current view rotations. It is always best to select one of the view
  1367.     gadgets before entering this function. That way, you will know which
  1368.     direction to move the mouse. While in this function you can change the
  1369.     View gadget.
  1370.  
  1371.  
  1372.  
  1373.  
  1374.     ****************************************************************
  1375.     Function:   Scale Free
  1376.     FastKey:    none
  1377.  
  1378.     Description:
  1379.  
  1380.     This function lets you scale objects with the mouse. See Move Free for
  1381.     a definition of which mouse movements will affect which axis.
  1382.  
  1383.  
  1384.  
  1385.  
  1386.     ****************************************************************
  1387.     Function:   Size Free
  1388.     FastKey:    none
  1389.  
  1390.     Description:
  1391.  
  1392.     This function will allow you to globally size all selected vertices with
  1393.     the mouse. After pressing the left mouse button, move the mouse left
  1394.     and right to change the scale. Abort this function by pressing the
  1395.     right mouse button.
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.     ****************************************************************
  1417.     ****************************************************************
  1418.  
  1419.  
  1420.     DELETE MENU:
  1421.  
  1422.         All         X-A
  1423.         Vertices    X-V
  1424.         Edges       X-E
  1425.         Faces       X-F
  1426.         Dup Faces   X-D
  1427.         Dup Edges   X-X
  1428.  
  1429.  
  1430.  
  1431.     ****************************************************************
  1432.     Function:   Delete All
  1433.     FastKey:    X-A
  1434.  
  1435.     Description:
  1436.  
  1437.     Delete all will delete everything currently in memory. You will first
  1438.     be presented with a requestor asking if you are sure about deleting
  1439.     everything.
  1440.  
  1441.  
  1442.  
  1443.  
  1444.     ****************************************************************
  1445.     Function:   Delete Selected Vertices
  1446.     Fast Key:   X-V
  1447.  
  1448.     Description:
  1449.  
  1450.     This enables you to delete only the vertices you have selected.
  1451.  
  1452.  
  1453.  
  1454.  
  1455.     ****************************************************************
  1456.     Function:   Delete Selected Edges
  1457.     FastKey:    X-E
  1458.  
  1459.     Description:
  1460.  
  1461.     Only edges with both vertices selected will be deleted.
  1462.  
  1463.  
  1464.  
  1465.  
  1466.     ****************************************************************
  1467.     Function:   Delete Selected Faces
  1468.     FastKey:    X-F
  1469.  
  1470.     Description:
  1471.  
  1472.     Only faces with all three vertices selected will be deleted.
  1473.  
  1474.  
  1475.  
  1476.     ****************************************************************
  1477.     Function:   Delete Duplicate Faces
  1478.     FastKey:    X-D
  1479.  
  1480.     Description:
  1481.  
  1482.     Since many file formats save each face twice, you may wish to delete
  1483.     the duplicate ones while editing your objects. Be warned, this routine
  1484.     is not converted to assembly language yet, so it may take a little
  1485.     time to execute. It may take up to 20 minutes to execute when you have
  1486.     1500 faces in memory.
  1487.     
  1488.  
  1489.  
  1490.  
  1491.     ****************************************************************
  1492.     Function:   Delete Duplicate Edges
  1493.     FastKey:    X-X
  1494.  
  1495.     Description:
  1496.  
  1497.     Similar to deleting duplicate faces, this routine will free up memory
  1498.     and go a long way towards "cleaning up" an object. This routine is
  1499.     written in assembly, ans should operate much faster than the face
  1500.     deleting function.
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.     ****************************************************************
  1522.     ****************************************************************
  1523.  
  1524.  
  1525.     VIEW OPTIONS MENU:
  1526.  
  1527.         Initialize View         V-V
  1528.         Indicator Size          V-I
  1529.         View Rotations          V-R
  1530.         View Positions          V-P
  1531.         View Scale (Zoom)       V-Z
  1532.         Fast Draw Toggle        V-F
  1533.         Trans Fast Draw Toggle  V-T
  1534.         Render Solid            V-1 (or just 1)
  1535.         Render Wire Frame       V-2 (or just 2)
  1536.  
  1537.  
  1538.  
  1539.  
  1540.     ****************************************************************
  1541.     Function:   Initialize View
  1542.     FastKey:    V-V
  1543.  
  1544.     Description:
  1545.  
  1546.     Upon selecting this menu option, the view rotations, positions and zoom
  1547.     factor will be returned to their normal values.
  1548.  
  1549.  
  1550.  
  1551.  
  1552.     ****************************************************************
  1553.     Function:   Indicator Size
  1554.     FastKey:    V-I
  1555.  
  1556.     Description:
  1557.  
  1558.     This lets you change the size of the vertex indicators. Allowable
  1559.     values range from 1 to 10.
  1560.  
  1561.  
  1562.  
  1563.  
  1564.     ****************************************************************
  1565.     Function:   View Rotations
  1566.     FastKey:    V-R
  1567.  
  1568.     Description:
  1569.  
  1570.     This lets you enter by hand the view rotations pan and tilt.
  1571.  
  1572.  
  1573.  
  1574.  
  1575.     ****************************************************************
  1576.     Function:   View Positions
  1577.     FastKey:    V-P
  1578.  
  1579.     Description:
  1580.  
  1581.     You can change the view positions with typed in values.
  1582.  
  1583.  
  1584.  
  1585.  
  1586.     ****************************************************************
  1587.     Function:   View Scale (Zoom)
  1588.     FastKey:    V-Z
  1589.  
  1590.     Description:
  1591.  
  1592.     This function lets you enter the zoom factor. I must note here that my
  1593.     zoom routine is not perfect. Zooming large objects to 16x
  1594.     magnification might (probably will) result in odd edges appearing. I
  1595.     am working on a solution to this problem, but speed is a major concern
  1596.     in the drawing routines, and all my solutions to this point have
  1597.     slowed edge drawing considerably. 
  1598.  
  1599.  
  1600.  
  1601.  
  1602.     ****************************************************************
  1603.     Function:   Fast Draw Toggle
  1604.     FastKey:    V-F
  1605.  
  1606.     Description:
  1607.  
  1608.     When altering the view parameters with the mouse, you may want either
  1609.     speed or detail. When this flag is on, changing the view with the mouse
  1610.     will cause a box, the size of all objects, to replace the normal
  1611.     drawing of the objects. When the flag is off, changing the view will
  1612.     require waiting for the entire image to re-draw. On slower systems this
  1613.     delay may take quite a while, and cause a jerky feel to movements.
  1614.  
  1615.  
  1616.  
  1617.  
  1618.     ****************************************************************
  1619.     Function:   Trans Fast Draw
  1620.     FastKey:    V-T
  1621.  
  1622.     Description:
  1623.  
  1624.     This toggle works the same as Fast Draw above, but applies to the
  1625.     Transform menu options of Move Free, Scale Free and Size Free.
  1626.  
  1627.  
  1628.  
  1629.  
  1630.     ****************************************************************
  1631.     Function:   Render as Solid
  1632.     FastKey:    V-2 (or just 2)
  1633.  
  1634.     Description:
  1635.  
  1636.     This feature will close the main window and open a 16 color hi-res
  1637.     screen where the current view will be rendered. You can abort the
  1638.     render at any time by pressing either mouse button. Please note that
  1639.     this is in no way intended to be a rendering system. This quick solid
  1640.     model is provided to aid in object development, and that is all. There
  1641.     are no facilites to save these images, or transfer them to video, at
  1642.     this time. I would really like to develop a good scan-line rendering
  1643.     system at some time in the future, but currently, it is nothing more
  1644.     than a basic shading routine.
  1645.  
  1646.  
  1647.  
  1648.  
  1649.     ****************************************************************
  1650.     Function:   Render as Wire Frame
  1651.     FastKey:    V-2 (or just 2)
  1652.  
  1653.     Description:
  1654.  
  1655.     This feature will close the main window and open a 2 color hi-res
  1656.     screen where the current view will be rendered. You can abort the
  1657.     render at any time by pressing either mouse button.
  1658.  
  1659.  
  1660.  
  1661.  
  1662.     ****************************************************************
  1663.     Function:   Animate as Wire Frame
  1664.     FastKey:    V-3 (or just 3)
  1665.  
  1666.     Description:
  1667.  
  1668.     A requestor will appear asking for a step value. This is the number of
  1669.     degrees to rotate by for each frame of the animation. You can abort
  1670.     this function by pressing and HOLDing the left mouse button.
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.     ****************************************************************
  1692.     ****************************************************************
  1693.  
  1694.  
  1695.     MISCELLANEOUS MENU:
  1696.  
  1697.     Sleep           SPACE-SPACE-S   (Or the HELP key)
  1698.     Save Defaults   SPACE-SPACE-Z
  1699.     Undo On/Off     SPACE-SPACE-U
  1700.     Overwrite       SPACE-SPACE-O
  1701.     About           SPACE-SPACE-A
  1702.  
  1703.  
  1704.  
  1705.  
  1706.     ****************************************************************
  1707.     Function:   Sleep
  1708.     FastKey:    SPACE-SPACE-S
  1709.  
  1710.     Description:
  1711.  
  1712.     Vertex is written in GFA and assembly language. GFA is a great
  1713.     programming language, it has built in bezier curves, a built in file
  1714.     requestor, extremely fast floating point operations and built in
  1715.     sorting routines, but it lacks one thing which is extremely important
  1716.     to Amiga users - full multitasking support. It will multitask, but
  1717.     other tasks will slow to a crawl. This option, also attainable by
  1718.     pressing the 'HELP' key, will close the editor and enable full
  1719.     multitasking. To get back from sleeping, simple press the close gadget
  1720.     of the sleep window on the Workbench Screen. This sleep window has a
  1721.     further benifit, as it frees up about 65k of precious chip memory.
  1722.  
  1723.     Hopefully, a future version of GFA will better support multi-tasking.
  1724.  
  1725.  
  1726.  
  1727.  
  1728.     ****************************************************************
  1729.     Function:   Save Defaults
  1730.     FastKey:    SPACE-SPACE-Z
  1731.  
  1732.     Description:
  1733.  
  1734.     This will save the file 'Vertex.Defaults' to the S: directory. After
  1735.     saving this file, everytime you start Vertex, it will read this file
  1736.     and configure the system to your choices.
  1737.  
  1738.     Saved are:
  1739.  
  1740.         Undo On/Off
  1741.         Indicator Size
  1742.         Overwrite On/Off
  1743.         Fast Draw On/Off
  1744.         Trans Fast Draw On/Off
  1745.  
  1746.  
  1747.  
  1748.  
  1749.     ****************************************************************
  1750.     Function:   Undo Toggle
  1751.     FastKey:    SPACE-SPACE-U
  1752.  
  1753.     Description:
  1754.  
  1755.     This will turn Undo on or off. When Undo is on, your allowable number
  1756.     of vertices, edges and faces will be cut in half, making room for an
  1757.     undo buffer. You can turn undo on and off at any time. 
  1758.  
  1759.     Turning undo on will only work if you currently have less than 1/2 of
  1760.     the maximum number of vertices, edges or faces. If you have more than
  1761.     half the total allowable vertices, edges or faces, then Undo will not
  1762.     come on. You can determine the status of Undo by examining the "Undo"
  1763.     gadet on the left side of the screen.
  1764.  
  1765.  
  1766.  
  1767.  
  1768.     ****************************************************************
  1769.     Function:   Overwrite Toggle
  1770.     FastKey:    SPACE-SPACE-O
  1771.  
  1772.     Description:
  1773.  
  1774.     When you go to save a file, the system first checks to see if the
  1775.     file already exists. If this toggle is on, and a file already exists,
  1776.     you will be asked if you want to over write the file. If this toggle is
  1777.     off, Vertex will automatically overwrite the file.
  1778.  
  1779.  
  1780.  
  1781.  
  1782.     ****************************************************************
  1783.     Function:   About
  1784.     FastKey:    SPACE-SPACE-A
  1785.  
  1786.     Description:
  1787.  
  1788.     This will bring up a requestor telling you the version number of
  1789.     Vertex, a serial number (for registered users) and the amout of free
  1790.     chip and fast memory available in the system.
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.     ================================================================
  1798.  
  1799.  
  1800.     FILE FORMATS:
  1801.     
  1802.  
  1803.         Sculpt 3D/4D
  1804.         Turbo Silver/Imagine
  1805.         Lightwave               (See Note)
  1806.         GEO                     (VideoScape 3D)
  1807.         Wavefront
  1808.         3D Professional
  1809.  
  1810.  
  1811.  
  1812.     ****************************************************************
  1813.  
  1814.     This section describes the major file formats understood by Vertex.
  1815.     Included are notes on usage, cautions to watch out for, and some
  1816.     additional notes on using each file format.
  1817.     
  1818.     At this point, only the 3D object is transferred by Vertex. Face
  1819.     attributes, ie. color, reflection, transparency, etc., are not
  1820.     transferred at this time. I am working on a solution to this problem
  1821.     at this time. 
  1822.  
  1823.     Be warned again that I am not responsible for any mishaps reguarding
  1824.     files, disks or loss of anticipated profits from use of this program.
  1825.     It is provided as-is (Please read the file Must.Read).
  1826.     
  1827.     If a problem does occur, I will be more than happy to find a solution,
  1828.     if such a solution is possible. 
  1829.  
  1830.  
  1831.  
  1832.  
  1833.     ****************************************************************
  1834.     Sculpt 3d/4d Files
  1835.     
  1836.         Only Sculpt objects are used by Vertex. Whole scenes, including 
  1837.         light locations, observes, render modes, etc., are not saved with 
  1838.         Vertex files. The files end in .scene only for Sculpt compatability.
  1839.     
  1840.         Most all Sculpt 3D/4D files should work in Vertex. However, since
  1841.         sculpt 4D has added new object types to their software, including
  1842.         b-splines, etc., I can make no guarantee as to object conversion. If
  1843.         you do have a problem with a file, simply send me the file and I
  1844.         will attempt to read it in correctly. If you are a preferred user,
  1845.         I will send you the update as soon as I can. Minor changes such as 
  1846.         this will cost a little. I will pro-rate small changes such as this 
  1847.         to some value relative to time involved, real usefulness, etc. 
  1848.         (This value should not go beyond the $10.00 update price), for
  1849.         basic registered users.
  1850.  
  1851.         Sculpt's file format, SC3D, most closely resembles the way Vertex
  1852.         stores it's information. As a result, these files should load and 
  1853.         save the quickest of all.
  1854.  
  1855.  
  1856.  
  1857.  
  1858.     ****************************************************************
  1859.     Turbo Silver/Imagine Files
  1860.     
  1861.         Turbo Silver and Imagine both utilize the same file format. Again,
  1862.         "primitive" objects, such as sphere's, may not be transferred
  1863.         correctly. Only individual objects saved and loaded are compatible
  1864.         with Vertex. These objects can be saved and loaded in the Object
  1865.         Editor of either package. Again, entire 'CELL' files are not 
  1866.         handled by Vertex, only the individual objects of the cells.
  1867.  
  1868.         Load time may take a bit. Since the Turbo Silver/Imagine file
  1869.         format stores faces in a different manner than most other software,
  1870.         conversion must be performed at load time. The load and save 
  1871.         routines are optimized in assembly, so they should operate fairly
  1872.         fast. Do not be alarmed at a 2-3 minute delay on standard (68000) 
  1873.         systems.
  1874.  
  1875.  
  1876.  
  1877.  
  1878.     ****************************************************************
  1879.     Lightwave Files
  1880.     
  1881.         Lightwave objects are supported within Vertex, but some
  1882.         restrictions do apply.
  1883.         
  1884.         Lightwave has the ability to handle polygons which contain more
  1885.         than 3 vertices. This is a common occurance in many 3D programs,
  1886.         but Lightwave further complicates the matter. It is possible for
  1887.         these objects to contain concave components to a face. Let me
  1888.         explain.
  1889.         
  1890.         Take, for example, a 6 pointed star, with vertices numbered like
  1891.         so:
  1892.  
  1893.                 1
  1894.                / \
  1895.               /   \
  1896.          B---C     2---3
  1897.           \           /
  1898.            \         /
  1899.             A       4
  1900.            /         \
  1901.           /           \
  1902.          9---8     6---5
  1903.               \   /
  1904.                \ /
  1905.                 7
  1906.  
  1907.         Filling this polygon would not be a simple task. If, for example,
  1908.         we tried to make a face out of the vertices 1-2-3, this face would
  1909.         be incorrect. The face 1-2-3 is not truly a part of the object. We
  1910.         could add an extra vertex to the middle of the face, as shown
  1911.         below, and create faces from this:
  1912.         
  1913.                 1
  1914.                /|\
  1915.               / | \
  1916.          B---C  |  2---3
  1917.           \   \ | /   /
  1918.            \   \|/   /
  1919.             A---D---4
  1920.            /   /|\   \
  1921.           /   / | \   \
  1922.          9---8  |  6---5
  1923.               \ | /
  1924.                \|/
  1925.                 7
  1926.  
  1927.  
  1928.         This goes a long way to simplifying the face filling operation.
  1929.         However, adding vertices like this may over complicate a simple
  1930.         object.
  1931.         
  1932.         For example:
  1933.  
  1934.  
  1935.         1-----2         1-----2                 1-----2
  1936.         |     |         |\   /|                 |\    |
  1937.         |     |         | \ / |      could      | \   |
  1938.         |     |   >>>   |  5  |       be        |  \  |
  1939.         |     |         | / \ |                 |   \ |
  1940.         |     |         |/   \|                 |    \|
  1941.         3-----4         3-----4                 3-----4
  1942.         
  1943.                         4 Faces                 2 Faces
  1944.         
  1945.         Now we have 4 faces when we could get away with 2. When additional
  1946.         polygons can add so much time to rendering 3D objects, I felt this
  1947.         was a real issue which had to be handled in some way.
  1948.         
  1949.         As Vertex currently stands you are asked for a choice
  1950.         when loading Lightwave objects. The choices are circular and
  1951.         radial. Radial will add a vertex to the center of all faces and
  1952.         connect that new vertex to each corner of the polygon. Circular
  1953.         will use 1 corner of the polygon as a base, and connect it to all
  1954.         other corners of the polygon, in a round the clock manner. 
  1955.         
  1956.  
  1957.                  Radial
  1958.  
  1959.                 1-------2
  1960.                / \     / \
  1961.               /   \   /   \
  1962.              /     \ /     \
  1963.             6-------7-------3
  1964.              \     / \     / 
  1965.               \   /   \   /
  1966.                \ /     \ /   
  1967.                 5-------4
  1968.  
  1969.                 Circular
  1970.  
  1971.                 1==-----2
  1972.                /|\ \__   \
  1973.               / | \   \__ \
  1974.              /  |  \     \_\
  1975.             6   |   \       3
  1976.              \  |    \     / 
  1977.               \ |     \   /
  1978.                \|      \ /   
  1979.                 5-------4
  1980.  
  1981.  
  1982.  
  1983.         If you know you have complicated faces in an object, such as the
  1984.         star mentioned above, then choose the Radial (Extra Vertex) mode.
  1985.         If you have faces with only 4 vertices or so, then choose the
  1986.         Circular method.
  1987.         
  1988.         It should also be mentioned that not all Lightwave objects will
  1989.         load correctly. Similar to the star example above, examine this
  1990.         object:
  1991.         
  1992.         
  1993.         1------2
  1994.         |      |
  1995.         |      |
  1996.         |      |       *
  1997.         |      |       
  1998.         |      3----------------------4
  1999.         |                             |
  2000.         |                             |
  2001.         5-----------------------------6
  2002.         
  2003.         Now we have a situation. Neither method will work correctly on an
  2004.         object of this type. If we add a new vertex in the center of the
  2005.         object (*), it would end up above the #3 vertex, and outside of the
  2006.         polygon. Likewise, if we applied the circular method to the above
  2007.         shape, we would end up with an edge going from vertex #1 to vertex
  2008.         #4, which would put the edge outside of the shape again.
  2009.         
  2010.         What does this mean? Well, Vertex currently cannot handle shapes
  2011.         of this nature. Whichever method you choose for the entire file
  2012.         will be applied to the polygon.
  2013.         
  2014.         Note, however, that the radial method does offer a solution for
  2015.         this particular example. If you were to manually move the newly
  2016.         created vertex to a position inside of the original polygon, your
  2017.         shape would be correct. Example:
  2018.         
  2019.         
  2020.         1------2                            After loading the new vertex
  2021.         |      | \                          would be where #7 is.
  2022.         |      |  \                         (Only the misplaced faces are
  2023.         |      |  /7-----_____               shown in the diagram)
  2024.         |      | /            ------__
  2025.         |      3----------------------4
  2026.         |                             |
  2027.         |                             |
  2028.         5-----------------------------6
  2029.         
  2030.         
  2031.         1------2                            After repositioning the
  2032.         |      |                            added vertex into the center
  2033.         |      |                            of the polygon, we end up with
  2034.         |      |                            a good shape which matches the
  2035.         |      |                            original design.
  2036.         |      3----------------------4
  2037.         |   7                         |
  2038.         |                             |
  2039.         5-----------------------------6
  2040.  
  2041.  
  2042.         None of these solutions are perfect, but they do offer the
  2043.         opportunity to load the objects, even if it means a little 
  2044.         extra work on the users part. I do have plans to make this
  2045.         routine "smarter".
  2046.  
  2047.  
  2048.  
  2049.  
  2050.     ****************************************************************
  2051.     GEO File Format:
  2052.  
  2053.         The GEO file format has just been added. This is the file format
  2054.         used by Video-Scape 3D. Loading should be the simplest operation
  2055.         of all.
  2056.         
  2057.         Saving in Geo brings up the "Dual Face" nature of each face in an
  2058.         object. Geo defines each face as having a direction, aside from
  2059.         the actual definition of the object itself. As a result, Vertex
  2060.         saves each face in a bi-directional manner, meaning each face
  2061.         appears twice in the file.
  2062.  
  2063.         Since GEO files are in ASCII, you may edit them with any text
  2064.         editor or word processor which can save in ASCII format (no
  2065.         control codes/font changes/bold/underline etc.) 
  2066.  
  2067.  
  2068.  
  2069.  
  2070.     ****************************************************************
  2071.     Wavefront Format:
  2072.     
  2073.         For those with access to a wavefront machine, this is the file
  2074.         format to use. Similar to GEO, the faces must be duplicated when
  2075.         saved. Wavefront is a powerful system; it has many feautures which
  2076.         may make their way into a wavefront file. These will be weeded out
  2077.         at load time, and they will not appear in the saved object. Again,
  2078.         the only thing transferred at this point is the object itself.
  2079.  
  2080.         Also, please note, that when you select a Wavefront file to be
  2081.         loaded, you must tell Vertex. Vertex tries to determine the
  2082.         format of any file selected from the file requestor. Most files
  2083.         start out with an identifier, such as the IFF indentifiers for
  2084.         Sculpt3d/4d and TurboSilver. However, Wavefront is an ASCII file
  2085.         format (which means it is plain text - similar to this document
  2086.         you are reading.) Rather than assuming any ASCII file is a
  2087.         Wavefront file (which could trash the system), Vertex will ask you
  2088.         to veryify the file selected is indeed a Wavefront file. A menu
  2089.         will appear, where you should either select the option "Wavefront"
  2090.         from the menu _or_ move the mouse off the menu. If you select the
  2091.         menu option "Wavefront", Vertex will load the object. If, however,
  2092.         you move the mouse pointer off of the menu without selecting
  2093.         anything, the load operation will be aborted.
  2094.  
  2095.  
  2096.     ****************************************************************
  2097.     3D Professional:
  2098.     
  2099.         This file format is only available for loading. Since 3D Pro
  2100.         has the ability to load other file formats, it is not necessary to
  2101.         duplicate that feature here.
  2102.     
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.     ================================================================
  2112.  
  2113.  
  2114.     THE KEYBOARD:
  2115.  
  2116.  
  2117.     Most all commands in Vertex have an associated key command. Even some
  2118.     key short cuts do not appear in the menus. Here's a list of the 
  2119.     additional key short cuts.
  2120.     
  2121.     KEY         RESULT
  2122.     ===         ================================
  2123.     1           Render as a solid
  2124.     2           Render as a wire frame (hidden line)
  2125.     3           Rotate as a wire frame
  2126.     f1          Perspective View
  2127.     f2          Front View
  2128.     f3          Side View
  2129.     f4          Top View
  2130.     
  2131.     Up Arrow    Move Position Up (View Dependant)
  2132.     Down Arrow  Move Position Down (View Dependant)
  2133.     Left Arrow  Move Position Left (View Dependant)
  2134.     Right Arrow Move Position Right (View Dependant)
  2135.  
  2136.     -           Zoom out by 2
  2137.     =           Zoom in by 2
  2138.     _           Zoom out by 4
  2139.     +           Zoom in by 4
  2140.     
  2141.     ¹           Fast quit (no chance to save!) (This is  'Alt-1' )
  2142.     
  2143.     HELP        Enter sleep mode
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.     ===============================================================
  2152.  
  2153.  
  2154.     THE FUTURE:
  2155.  
  2156.  
  2157.     Finally, I'd like to mention some things about the future of Vertex.
  2158.     I have plans to put more features into Vertex, and I would really like
  2159.     to hear what others are looking for in 3d design software. You might
  2160.     have a great idea for a function or command, or utility that would make
  2161.     Vertex better. If you submit an idea, and it is feasible, I will
  2162.     put it in the program.
  2163.  
  2164.     Currently, I am hoping to add:
  2165.  
  2166.         Face attributes (Color, Reflectivity, etc.)
  2167.         Full Booleans
  2168.         More File Formats
  2169.         Maybe a seperate rendering package (There seems to be too many!)
  2170.         Speeding up the Multiply Command
  2171.  
  2172.     I hope you can make use of Vertex. I have put every effort into
  2173.     making the program solid. However, a program of this complexity will
  2174.     doubtlessly have bugs in it. If you find a bug, please let me know by
  2175.     detailing your system set-up and what you did just before the error
  2176.     occured.
  2177.  
  2178.     I can be reached at:
  2179.  
  2180.     US Mail:
  2181.  
  2182.     Alexander D. Deburie
  2183.     4189 Nickolas
  2184.     Sterling Heights, MI    48310
  2185.     USA
  2186.  
  2187.     UseNet:
  2188.  
  2189.     ad99s461@sycom.mi.org
  2190.  
  2191.  
  2192.     PS: If you have problems with Vertex, first check out the Vertex.Help
  2193.         file.
  2194.  
  2195.  
  2196.     -- Alexnder D. Deburie
  2197.  
  2198.  
  2199.     ===============================================================
  2200.  
  2201.  
  2202.     Amiga is a registered trademark of Commadore-Amiga, Inc.
  2203.     Sculpt 3D and Sculpt 4D are trademarks of Byte By Byte, Inc.
  2204.     Turbo Silver and Image are trademarks of Impulse, Inc.
  2205.     Lightwave is a trademark of NewTek, Inc.
  2206.     Wavefront is a registered trademark of Wavefront Technologies, Inc.
  2207.     Videoscape 3D is a trademark of Aegis Development    
  2208.     3D Professional is a trademark of Progrssive Peripherals & Software
  2209.  
  2210.